
<!DOCTYPE HTML>
<html lang="" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>附录B 常见Java字节码指令表 · GitBook</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        
        
        
    
    <link rel="stylesheet" href="gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="附录C.html" />
    
    
    <link rel="prev" href="附录A.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="Type to search" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" >
            
                <a target="_blank" href="https://github.com/xfl03/CoreModTutor">
            
                    
                    源代码仓库（求star）
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="./">
            
                <a href="./">
            
                    
                    目录
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="0.html">
            
                <a href="0.html">
            
                    
                    0 绪论
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4" >
            
                <span>
            
                    
                    1 简介
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.1" data-path="1.1.html">
            
                <a href="1.1.html">
            
                    
                    CoreMod
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.2" data-path="1.2.html">
            
                <a href="1.2.html">
            
                    
                    Java虚拟机
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3" data-path="1.3.html">
            
                <a href="1.3.html">
            
                    
                    Minecraft混淆方式
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5" >
            
                <span>
            
                    
                    2 Java虚拟机
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1" >
            
                <span>
            
                    
                    ClassLoader类加载器
            
                </span>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2" >
            
                <span>
            
                    
                    ByteCode字节码
            
                </span>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.3" >
            
                <span>
            
                    
                    ASM
            
                </span>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.6" >
            
                <span>
            
                    
                    3 原版 CoreMod
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.6.1" data-path="3.1.html">
            
                <a href="3.1.html">
            
                    
                    直接修改class文件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.2" data-path="3.2.html">
            
                <a href="3.2.html">
            
                    
                    JavaAgent
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.3" data-path="3.3.html">
            
                <a href="3.3.html">
            
                    
                    LaunchWrapper
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.4" data-path="3.4.html">
            
                <a href="3.4.html">
            
                    
                    ModLauncher
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.7" >
            
                <span>
            
                    
                    4 FML CoreMod
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.7.1" data-path="4.1.html">
            
                <a href="4.1.html">
            
                    
                    1.3.2-1.5.2
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.2" data-path="4.2.html">
            
                <a href="4.2.html">
            
                    
                    1.6.1-1.12.2
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.3" data-path="4.3.html">
            
                <a href="4.3.html">
            
                    
                    1.13.2-1.14.4
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="5.html">
            
                <a href="5.html">
            
                    
                    5 Mixin
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.8.1" data-path="5.1.html">
            
                <a href="5.1.html">
            
                    
                    配置
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2" data-path="5.2.html">
            
                <a href="5.2.html">
            
                    
                    引导
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.3" data-path="5.3.html">
            
                <a href="5.3.html">
            
                    
                    注入
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.4" data-path="5.4.html">
            
                <a href="5.4.html">
            
                    
                    修改
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.5" data-path="5.5.html">
            
                <a href="5.5.html">
            
                    
                    定位
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.6" data-path="5.6.html">
            
                <a href="5.6.html">
            
                    
                    融合
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.7" data-path="5.7.html">
            
                <a href="5.7.html">
            
                    
                    扩展
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.8" data-path="5.8.html">
            
                <a href="5.8.html">
            
                    
                    调试
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.9" >
            
                <span>
            
                    
                    附录
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.9.1" data-path="附录A.html">
            
                <a href="附录A.html">
            
                    
                    附录A 相关工具下载
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="1.9.2" data-path="附录B.html">
            
                <a href="附录B.html">
            
                    
                    附录B 常见Java字节码指令表
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.3" data-path="附录C.html">
            
                <a href="附录C.html">
            
                    
                    附录C 参考资料
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            Published with GitBook
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="." >附录B 常见Java字节码指令表</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="&#x9644;&#x5F55;b-&#x5E38;&#x89C1;java&#x5B57;&#x8282;&#x7801;&#x6307;&#x4EE4;&#x8868;">&#x9644;&#x5F55;B &#x5E38;&#x89C1;Java&#x5B57;&#x8282;&#x7801;&#x6307;&#x4EE4;&#x8868;</h1>
<p>&#x8FD9;&#x662F;ASM&#x4E2D;&#x6240;&#x6709;&#x7684;&#x5E38;&#x91CF;&#x64CD;&#x4F5C;&#x6570;&#xFF0C;&#x5728;ASM&#x4E2D;&#x7528;&#x5176;&#x6307;&#x4EE3;JVM&#x6307;&#x4EE4;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;ACC_PUBLIC&#x8FD9;&#x6837;&#x66F4;&#x6709;&#x53EF;&#x8BFB;&#x6027;&#x7684;&#x540D;&#x5B57;&#x4EE3;&#x66FF;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x7528;&#x6570;&#x5B57;&#x8868;&#x793A;</p>
<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Opcodes</span> </span>{

    <span class="hljs-comment">// ASM&#x7684;&#x7248;&#x672C;&#xFF0C;&#x4EE5;&#x4E0B;&#x8868;&#x8FF0;&#x5747;&#x5408;&#x6CD5;</span>

    <span class="hljs-keyword">int</span> ASM4 = <span class="hljs-number">4</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">0</span> &lt;&lt; <span class="hljs-number">8</span> | <span class="hljs-number">0</span>; 
    <span class="hljs-keyword">int</span> ASM5 = <span class="hljs-number">5</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">0</span> &lt;&lt; <span class="hljs-number">8</span> | <span class="hljs-number">0</span>;

    <span class="hljs-comment">// Java&#x7248;&#x672C;&#xFF0C;&#x9700;&#x8981;&#x9650;&#x5B9A;Java&#x7248;&#x672C;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x81F3;&#x4E8E;&#x4E3A;&#x4EC0;&#x4E48;&#x662F;45-52&#x4E0D;&#x5F97;&#x800C;&#x77E5;</span>

    <span class="hljs-keyword">int</span> V1_1 = <span class="hljs-number">3</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">45</span>;
    <span class="hljs-keyword">int</span> V1_2 = <span class="hljs-number">0</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">46</span>;
    <span class="hljs-keyword">int</span> V1_3 = <span class="hljs-number">0</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">47</span>;
    <span class="hljs-keyword">int</span> V1_4 = <span class="hljs-number">0</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">48</span>;
    <span class="hljs-keyword">int</span> V1_5 = <span class="hljs-number">0</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">49</span>;
    <span class="hljs-keyword">int</span> V1_6 = <span class="hljs-number">0</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">50</span>;
    <span class="hljs-keyword">int</span> V1_7 = <span class="hljs-number">0</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">51</span>;
    <span class="hljs-keyword">int</span> V1_8 = <span class="hljs-number">0</span> &lt;&lt; <span class="hljs-number">16</span> | <span class="hljs-number">52</span>;

    <span class="hljs-comment">// &#x6240;&#x6709;&#x7684;&#x8BBF;&#x95EE;&#x4FEE;&#x9970;&#x5173;&#x952E;&#x5B57;&#xFF0C;&#x4F8B;&#x5982;public&#xFF0C;private&#x4E4B;&#x7C7B;</span>

    <span class="hljs-keyword">int</span> ACC_PUBLIC = <span class="hljs-number">0x0001</span>; <span class="hljs-comment">// class, field, method</span>
    <span class="hljs-keyword">int</span> ACC_PRIVATE = <span class="hljs-number">0x0002</span>; <span class="hljs-comment">// class, field, method</span>
    <span class="hljs-keyword">int</span> ACC_PROTECTED = <span class="hljs-number">0x0004</span>; <span class="hljs-comment">// class, field, method</span>
    <span class="hljs-keyword">int</span> ACC_STATIC = <span class="hljs-number">0x0008</span>; <span class="hljs-comment">// field, method</span>
    <span class="hljs-keyword">int</span> ACC_FINAL = <span class="hljs-number">0x0010</span>; <span class="hljs-comment">// class, field, method, parameter</span>
    <span class="hljs-keyword">int</span> ACC_SUPER = <span class="hljs-number">0x0020</span>; <span class="hljs-comment">// class</span>
    <span class="hljs-keyword">int</span> ACC_SYNCHRONIZED = <span class="hljs-number">0x0020</span>; <span class="hljs-comment">// method</span>
    <span class="hljs-keyword">int</span> ACC_VOLATILE = <span class="hljs-number">0x0040</span>; <span class="hljs-comment">// field</span>
    <span class="hljs-keyword">int</span> ACC_BRIDGE = <span class="hljs-number">0x0040</span>; <span class="hljs-comment">// method</span>
    <span class="hljs-keyword">int</span> ACC_VARARGS = <span class="hljs-number">0x0080</span>; <span class="hljs-comment">// method</span>
    <span class="hljs-keyword">int</span> ACC_TRANSIENT = <span class="hljs-number">0x0080</span>; <span class="hljs-comment">// field</span>
    <span class="hljs-keyword">int</span> ACC_NATIVE = <span class="hljs-number">0x0100</span>; <span class="hljs-comment">// method</span>
    <span class="hljs-keyword">int</span> ACC_INTERFACE = <span class="hljs-number">0x0200</span>; <span class="hljs-comment">// class</span>
    <span class="hljs-keyword">int</span> ACC_ABSTRACT = <span class="hljs-number">0x0400</span>; <span class="hljs-comment">// class, method</span>
    <span class="hljs-keyword">int</span> ACC_STRICT = <span class="hljs-number">0x0800</span>; <span class="hljs-comment">// method</span>
    <span class="hljs-keyword">int</span> ACC_SYNTHETIC = <span class="hljs-number">0x1000</span>; <span class="hljs-comment">// class, field, method, parameter</span>
    <span class="hljs-keyword">int</span> ACC_ANNOTATION = <span class="hljs-number">0x2000</span>; <span class="hljs-comment">// class</span>
    <span class="hljs-keyword">int</span> ACC_ENUM = <span class="hljs-number">0x4000</span>; <span class="hljs-comment">// class(?) field inner</span>
    <span class="hljs-keyword">int</span> ACC_MANDATED = <span class="hljs-number">0x8000</span>; <span class="hljs-comment">// parameter</span>
    <span class="hljs-keyword">int</span> ACC_DEPRECATED = <span class="hljs-number">0x20000</span>; <span class="hljs-comment">// class, field, method //ACC_DEPRECATED&#x4EE3;&#x6307;@Deprecated&#x6CE8;&#x89E3;&#x6807;&#x6CE8;&#x7684;&#x7C7B;&#x6216;&#x5B57;&#x6BB5;&#xFF0C;&#x65B9;&#x6CD5;</span>

    <span class="hljs-comment">//&#x57FA;&#x672C;&#x7C7B;&#x578B;</span>

    <span class="hljs-keyword">int</span> T_BOOLEAN = <span class="hljs-number">4</span>;
    <span class="hljs-keyword">int</span> T_CHAR = <span class="hljs-number">5</span>;
    <span class="hljs-keyword">int</span> T_FLOAT = <span class="hljs-number">6</span>;
    <span class="hljs-keyword">int</span> T_DOUBLE = <span class="hljs-number">7</span>;
    <span class="hljs-keyword">int</span> T_BYTE = <span class="hljs-number">8</span>;
    <span class="hljs-keyword">int</span> T_SHORT = <span class="hljs-number">9</span>;
    <span class="hljs-keyword">int</span> T_INT = <span class="hljs-number">10</span>;
    <span class="hljs-keyword">int</span> T_LONG = <span class="hljs-number">11</span>;

    <span class="hljs-comment">// tags for Handle</span>

    <span class="hljs-keyword">int</span> H_GETFIELD = <span class="hljs-number">1</span>;  <span class="hljs-comment">//&#x83B7;&#x53D6;&#x5B57;&#x6BB5;</span>
    <span class="hljs-keyword">int</span> H_GETSTATIC = <span class="hljs-number">2</span>; <span class="hljs-comment">//&#x83B7;&#x53D6;&#x9759;&#x6001;&#x53D8;&#x91CF;</span>
    <span class="hljs-keyword">int</span> H_PUTFIELD = <span class="hljs-number">3</span>;  <span class="hljs-comment">//&#x6307;&#x5B9A;&#x5B57;&#x6BB5;</span>
    <span class="hljs-keyword">int</span> H_PUTSTATIC = <span class="hljs-number">4</span>; <span class="hljs-comment">//&#x6307;&#x5B9A;&#x9759;&#x6001;&#x53D8;&#x91CF;</span>
    <span class="hljs-keyword">int</span> H_INVOKEVIRTUAL = <span class="hljs-number">5</span>;  <span class="hljs-comment">//&#x8C03;&#x7528;&#x5BF9;&#x8C61;&#x5B9E;&#x4F8B;&#x65B9;&#x6CD5;</span>
    <span class="hljs-keyword">int</span> H_INVOKESTATIC = <span class="hljs-number">6</span>; <span class="hljs-comment">//&#x8C03;&#x7528;&#x9759;&#x6001;&#x65B9;&#x6CD5;</span>
    <span class="hljs-keyword">int</span> H_INVOKESPECIAL = <span class="hljs-number">7</span>;<span class="hljs-comment">//&#x8C03;&#x7528;&#x5B9E;&#x4F8B;&#x521D;&#x59CB;&#x5316;&#x65B9;&#x6CD5;&#xFF08;&lt;init&gt;&#x65B9;&#x6CD5;&#xFF09;&#xFF0C;private&#x6216;&#x7236;&#x7C7B;&#x65B9;&#x6CD5;</span>
    <span class="hljs-keyword">int</span> H_NEWINVOKESPECIAL = <span class="hljs-number">8</span>; 
    <span class="hljs-keyword">int</span> H_INVOKEINTERFACE = <span class="hljs-number">9</span>;<span class="hljs-comment">//&#x8C03;&#x7528;&#x63A5;&#x53E3;&#x65B9;&#x6CD5;</span>

    <span class="hljs-comment">// stack map frame types</span>
    <span class="hljs-comment">//&#x6BCF;&#x8C03;&#x7528;&#x4E00;&#x6B21;&#x65B9;&#x6CD5;&#xFF0C;&#x4FBF;&#x4F1A;&#x4E3A;&#x5176;&#x5F00;&#x8F9F;&#x6808;&#x7A7A;&#x95F4;&#xFF0C;&#x751F;&#x6210;&#x6808;&#x5E27;&#xFF0C;&#x4EE5;&#x4E0B;&#x90FD;&#x662F;&#x6808;&#x5E27;&#x76F8;&#x5173;&#x64CD;&#x4F5C;</span>

    <span class="hljs-comment">/**
     * Represents an expanded frame. See {<span class="hljs-doctag">@link</span> ClassReader#EXPAND_FRAMES}.
     */</span>
    <span class="hljs-keyword">int</span> F_NEW = -<span class="hljs-number">1</span>;

    <span class="hljs-comment">/**
     * Represents a compressed frame with complete frame data.
     */</span>
    <span class="hljs-keyword">int</span> F_FULL = <span class="hljs-number">0</span>;

    <span class="hljs-comment">/**
     * Represents a compressed frame where locals are the same as the locals in
     * the previous frame, except that additional 1-3 locals are defined, and
     * with an empty stack.
     */</span>
    <span class="hljs-keyword">int</span> F_APPEND = <span class="hljs-number">1</span>;

    <span class="hljs-comment">/**
     * Represents a compressed frame where locals are the same as the locals in
     * the previous frame, except that the last 1-3 locals are absent and with
     * an empty stack.
     */</span>
    <span class="hljs-keyword">int</span> F_CHOP = <span class="hljs-number">2</span>;

    <span class="hljs-comment">/**
     * Represents a compressed frame with exactly the same locals as the
     * previous frame and with an empty stack.
     */</span>
    <span class="hljs-keyword">int</span> F_SAME = <span class="hljs-number">3</span>;

    <span class="hljs-comment">/**
     * Represents a compressed frame with exactly the same locals as the
     * previous frame and with a single value on the stack.
     */</span>
    <span class="hljs-keyword">int</span> F_SAME1 = <span class="hljs-number">4</span>;


    <span class="hljs-comment">//&#x4EE5;&#x4E0B;&#x90FD;&#x662F;JVM&#x6307;&#x4EE4;&#xFF0C;&#x5C06;&#x5E38;&#x91CF;&#x540D;&#x5C0F;&#x5199;&#x5C31;&#x662F;&#x5176;&#x5BF9;&#x5E94;&#x7684;JVM&#x6307;&#x4EE4;&#xFF0C;&#x4F8B;&#x5982;ACONST_NULL&#x5C0F;&#x5199;&#x5C31;&#x662F;aconst_null&#x6307;&#x4EE4;</span>
    <span class="hljs-comment">//1&#xFF0C;2&#xFF0C;3&#xFF0C;4&#xFF0C;5&#x7B49;&#x5BF9;&#x5E94;&#x7684;&#x4E5F;&#x662F;&#x771F;&#x5B9E;&#x7684;JVM&#x64CD;&#x4F5C;&#x7801;&#xFF0C;186&#x5BF9;&#x5E94;ba</span>
    <span class="hljs-comment">//Insn&#x662F;instruction&#x7684;&#x7F29;&#x5199;&#xFF0C;&#x53EF;&#x4EE5;&#x6DF1;&#x5165;&#x5230;&#x65B9;&#x6CD5;&#x5185;&#x90E8;&#x53BB;&#x4FEE;&#x6539;&#x5176;&#x53D8;&#x91CF;&#x548C;&#x64CD;&#x4F5C;</span>
    <span class="hljs-comment">//CONST&#x6307;&#x5E38;&#x91CF;&#xFF0C;I&#x6307;int&#xFF0C;F&#x6307;float&#xFF0C;D&#x6307;double&#xFF0C;C&#x6307;char&#xFF0C;S&#x6307;short&#xFF0C;L&#x6307;long&#xFF0C;B&#x6307;byte</span>
    <span class="hljs-comment">//ADD&#xFF0C;MIN&#xFF0C;MUL&#xFF0C;DIV&#x6307;&#x52A0;&#x51CF;&#x4E58;&#x9664;&#xFF0C;IADD&#x5C31;&#x662F;&#x4E24;&#x4E2A;int&#x76F8;&#x52A0;    </span>
    <span class="hljs-comment">//AND&#xFF0C;OR&#xFF0C;XOR&#x6307;&#x6309;&#x4F4D;&#x4E0E;&#xFF0C;&#x6309;&#x4F4D;&#x6216;&#xFF0C;&#x6309;&#x4F4D;&#x6216;&#x975E;</span>
    <span class="hljs-comment">//2&#x6307;&#x7684;&#x662F;to&#xFF0C;&#x4F8B;&#x5982;I2B&#x6307;int to byte</span>
    <span class="hljs-comment">//LOAD&#x6307;&#x5165;&#x6808;&#xFF0C;STORE&#x6307;&#x51FA;&#x6808;&#xFF0C;ALOAD&#x6307;&#x4EFB;&#x610F;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x5165;&#x6808;</span>
    <span class="hljs-comment">//RETURN&#x6307;&#x8FD4;&#x56DE;</span>

    <span class="hljs-keyword">int</span> NOP = <span class="hljs-number">0</span>; <span class="hljs-comment">// visitInsn</span>
    <span class="hljs-keyword">int</span> ACONST_NULL = <span class="hljs-number">1</span>; <span class="hljs-comment">// -&#x5C06;&#x4E00;&#x4E2A;&#x7A7A;&#x5F15;&#x7528;&#x63A8;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ICONST_M1 = <span class="hljs-number">2</span>; <span class="hljs-comment">// -&#x5C06;-1&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ICONST_0 = <span class="hljs-number">3</span>; <span class="hljs-comment">// -&#x5C06;0&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ICONST_1 = <span class="hljs-number">4</span>; <span class="hljs-comment">// -&#x5C06;1&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ICONST_2 = <span class="hljs-number">5</span>; <span class="hljs-comment">// -&#x5C06;2&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ICONST_3 = <span class="hljs-number">6</span>; <span class="hljs-comment">// -&#x5C06;3&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ICONST_4 = <span class="hljs-number">7</span>; <span class="hljs-comment">// -&#x5C06;4&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ICONST_5 = <span class="hljs-number">8</span>; <span class="hljs-comment">// -&#x5C06;5&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;&#xFF08;&#x4EE5;&#x4E0A;&#x90FD;&#x662F;int&#xFF09;</span>
    <span class="hljs-keyword">int</span> LCONST_0 = <span class="hljs-number">9</span>; <span class="hljs-comment">// -&#x5C06;0L&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> LCONST_1 = <span class="hljs-number">10</span>; <span class="hljs-comment">// -&#x5C06;1L&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> FCONST_0 = <span class="hljs-number">11</span>; <span class="hljs-comment">// -&#x5C06;0F&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> FCONST_1 = <span class="hljs-number">12</span>; <span class="hljs-comment">// -&#x5C06;1F&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> FCONST_2 = <span class="hljs-number">13</span>; <span class="hljs-comment">// -&#x5C06;2F&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> DCONST_0 = <span class="hljs-number">14</span>; <span class="hljs-comment">// -&#x5C06;0D&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> DCONST_1 = <span class="hljs-number">15</span>; <span class="hljs-comment">// -&#x5C06;1D&#x52A0;&#x8F7D;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> BIPUSH = <span class="hljs-number">16</span>; <span class="hljs-comment">// visitIntInsn -&#x5C06;byte&#x503C;&#x4F5C;&#x4E3A;int&#x63A8;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> SIPUSH = <span class="hljs-number">17</span>; <span class="hljs-comment">// -&#x5C06;short&#x4F5C;&#x4E3A;int&#x63A8;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> LDC = <span class="hljs-number">18</span>; <span class="hljs-comment">// visitLdcInsn -&#x4ECE;&#x5E38;&#x91CF;&#x6C60; (&#x53EF;&#x4EE5;&#x662F;String, int, float, Class, java.lang.invoke.MethodType, or java.lang.invoke.MethodHandle)     &#x4E2D;&#x5C06;&#x4E00;&#x4E2A;#index&#x5E38;&#x91CF;&#x63A8;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ILOAD = <span class="hljs-number">21</span>; <span class="hljs-comment">// visitVarInsn //&#x4ECE;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;&#x4E2D;&#x52A0;&#x8F7D;int&#x503C;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> LLOAD = <span class="hljs-number">22</span>; <span class="hljs-comment">// -&#x4ECE;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;&#x52A0;&#x8F7D;long&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> FLOAD = <span class="hljs-number">23</span>; <span class="hljs-comment">// -&#x4ECE;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;&#x52A0;&#x8F7D;float&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> DLOAD = <span class="hljs-number">24</span>; <span class="hljs-comment">// -&#x4ECE;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;&#x52A0;&#x8F7D;double&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ALOAD = <span class="hljs-number">25</span>; <span class="hljs-comment">// -&#x4ECE;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;&#x52A0;&#x8F7D;Object&#x5F15;&#x7528;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> IALOAD = <span class="hljs-number">46</span>; <span class="hljs-comment">// visitInsn -&#x4ECE;&#x6570;&#x7EC4;&#x52A0;&#x8F7D;int&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> LALOAD = <span class="hljs-number">47</span>; <span class="hljs-comment">// -&#x4ECE;&#x6570;&#x7EC4;&#x52A0;&#x8F7D;long&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> FALOAD = <span class="hljs-number">48</span>; <span class="hljs-comment">// -&#x4ECE;&#x6570;&#x7EC4;&#x52A0;&#x8F7D;float&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> DALOAD = <span class="hljs-number">49</span>; <span class="hljs-comment">// -&#x4ECE;&#x6570;&#x7EC4;&#x52A0;&#x8F7D;double&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> AALOAD = <span class="hljs-number">50</span>; <span class="hljs-comment">// -&#x4ECE;&#x6570;&#x7EC4;&#x52A0;&#x8F7D;Object&#x5F15;&#x7528;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> BALOAD = <span class="hljs-number">51</span>; <span class="hljs-comment">// -&#x4ECE;&#x6570;&#x7EC4;&#x52A0;&#x8F7D;boolean&#x503C;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> CALOAD = <span class="hljs-number">52</span>; <span class="hljs-comment">// -&#x4ECE;&#x6570;&#x7EC4;&#x52A0;&#x8F7D;char&#x503C;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> SALOAD = <span class="hljs-number">53</span>; <span class="hljs-comment">// -&#x4ECE;&#x6570;&#x7EC4;&#x52A0;&#x8F7D;short&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ISTORE = <span class="hljs-number">54</span>; <span class="hljs-comment">// visitVarInsn &#x5C06;int&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;</span>
    <span class="hljs-keyword">int</span> LSTORE = <span class="hljs-number">55</span>; <span class="hljs-comment">// -&#x5C06;long&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;</span>
    <span class="hljs-keyword">int</span> FSTORE = <span class="hljs-number">56</span>; <span class="hljs-comment">// -&#x5C06;float&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;</span>
    <span class="hljs-keyword">int</span> DSTORE = <span class="hljs-number">57</span>; <span class="hljs-comment">// -&#x5C06;double&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;</span>
    <span class="hljs-keyword">int</span> ASTORE = <span class="hljs-number">58</span>; <span class="hljs-comment">// -&#x5C06;Object&#x5F15;&#x7528;&#x4FDD;&#x5B58;&#x5230;&#x5C40;&#x90E8;&#x53D8;&#x91CF;&#x8868;</span>
    <span class="hljs-keyword">int</span> IASTORE = <span class="hljs-number">79</span>; <span class="hljs-comment">// visitInsn -&#x5C06;int&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x6570;&#x7EC4;&#x4E2D;</span>
    <span class="hljs-keyword">int</span> LASTORE = <span class="hljs-number">80</span>; <span class="hljs-comment">// -&#x5C06;long&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x6570;&#x7EC4;&#x4E2D;</span>
    <span class="hljs-keyword">int</span> FASTORE = <span class="hljs-number">81</span>; <span class="hljs-comment">// -&#x5C06;float&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x6570;&#x7EC4;&#x4E2D;</span>
    <span class="hljs-keyword">int</span> DASTORE = <span class="hljs-number">82</span>; <span class="hljs-comment">// -&#x5C06;double&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x6570;&#x7EC4;&#x4E2D;</span>
    <span class="hljs-keyword">int</span> AASTORE = <span class="hljs-number">83</span>; <span class="hljs-comment">// -&#x5C06;Object&#x5F15;&#x7528;&#x4FDD;&#x5B58;&#x5230;&#x6570;&#x7EC4;&#x4E2D;</span>
    <span class="hljs-keyword">int</span> BASTORE = <span class="hljs-number">84</span>; <span class="hljs-comment">// -&#x5C06;boolean&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x6570;&#x7EC4;&#x4E2D;</span>
    <span class="hljs-keyword">int</span> CASTORE = <span class="hljs-number">85</span>; <span class="hljs-comment">// -&#x5C06;char&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x6570;&#x7EC4;&#x4E2D;</span>
    <span class="hljs-keyword">int</span> SASTORE = <span class="hljs-number">86</span>; <span class="hljs-comment">// -&#x5C06;short&#x503C;&#x4FDD;&#x5B58;&#x5230;&#x6570;&#x7EC4;&#x4E2D;</span>
    <span class="hljs-keyword">int</span> POP = <span class="hljs-number">87</span>; <span class="hljs-comment">// -&#x4E22;&#x5F03;&#x6808;&#x9876;&#x5143;&#x7D20;</span>
    <span class="hljs-keyword">int</span> POP2 = <span class="hljs-number">88</span>; <span class="hljs-comment">// -&#x4E22;&#x5F03;&#x6808;&#x9876;&#x7684;&#x4E24;&#x4E2A;&#x5143;&#x7D20;&#xFF08;&#x5982;&#x679C;&#x662F;double&#x6216;long&#x5C31;&#x53EA;&#x6709;&#x4E00;&#x4E2A;&#xFF09;</span>
    <span class="hljs-keyword">int</span> DUP = <span class="hljs-number">89</span>; <span class="hljs-comment">// -&#x590D;&#x5236;&#x6808;&#x9876;&#x5143;&#x7D20;</span>
    <span class="hljs-keyword">int</span> DUP_X1 = <span class="hljs-number">90</span>; <span class="hljs-comment">// -&#x590D;&#x5236;&#x6808;&#x9876;&#x5143;&#x7D20;&#xFF0C;&#x5E76;&#x5C06;&#x5176;&#x63D2;&#x5165;&#x6808;&#x9876;&#x7684;&#x4E24;&#x4E2A;&#x5143;&#x7D20;&#x4E0B;&#x9762;&#xFF0C;&#x5F62;&#x5982;value2, value1 &#x2192; value1, value2, value1 </span>
    <span class="hljs-keyword">int</span> DUP_X2 = <span class="hljs-number">91</span>; <span class="hljs-comment">// -&#x590D;&#x5236;&#x6808;&#x9876;&#x5143;&#x7D20;&#xFF0C;&#x5E76;&#x5C06;&#x5176;&#x63D2;&#x5165;&#x6808;&#x9876;&#x7684;&#x4E09;&#x4E2A;&#x5143;&#x7D20;&#xFF08;&#x524D;&#x63D0;&#x662F;value2&#x4E0D;&#x80FD;&#x662F;double&#x6216;long&#xFF09;&#x6216;&#x4E24;&#x4E2A;&#x5143;&#x7D20;&#xFF08;&#x8FD9;&#x65F6;value2&#x662F;long&#x6216;double&#xFF0C;&#x6216;&#x5360;&#x4E86;value</span>
    <span class="hljs-number">3</span>&#x7684;&#x4F4D;&#x7F6E;&#xFF0C;&#x5F62;&#x5982;value3, value2, value1 &#x2192; value1, value3, value2, value1 
    <span class="hljs-keyword">int</span> DUP2 = <span class="hljs-number">92</span>; <span class="hljs-comment">// -&#x590D;&#x5236;&#x6808;&#x9876;&#x7684;&#x4E24;&#x4E2A;&#x5143;&#x7D20;</span>
    <span class="hljs-keyword">int</span> DUP2_X1 = <span class="hljs-number">93</span>; <span class="hljs-comment">// -&#x5F62;&#x5982;value3, {value2, value1} &#x2192; {value2, value1}, value3, {value2, value1} </span>
    <span class="hljs-keyword">int</span> DUP2_X2 = <span class="hljs-number">94</span>; <span class="hljs-comment">// -&#x5F62;&#x5982;{value4, value3}, {value2, value1} &#x2192; {value2, value1}, {value4, value3}, {value2, value1} </span>
    <span class="hljs-keyword">int</span> SWAP = <span class="hljs-number">95</span>; <span class="hljs-comment">// -&#x4EA4;&#x6362;&#x6808;&#x9876;&#x7684;&#x4E24;&#x4E2A;&#x503C;&#xFF0C;&#x6CE8;&#x610F;&#x4E24;&#x4E2A;&#x503C;&#x4E0D;&#x80FD;&#x662F;double&#x6216;long</span>
    <span class="hljs-keyword">int</span> IADD = <span class="hljs-number">96</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LADD = <span class="hljs-number">97</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> FADD = <span class="hljs-number">98</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> DADD = <span class="hljs-number">99</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> ISUB = <span class="hljs-number">100</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LSUB = <span class="hljs-number">101</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> FSUB = <span class="hljs-number">102</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> DSUB = <span class="hljs-number">103</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> IMUL = <span class="hljs-number">104</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LMUL = <span class="hljs-number">105</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> FMUL = <span class="hljs-number">106</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> DMUL = <span class="hljs-number">107</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> IDIV = <span class="hljs-number">108</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LDIV = <span class="hljs-number">109</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> FDIV = <span class="hljs-number">110</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> DDIV = <span class="hljs-number">111</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> IREM = <span class="hljs-number">112</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LREM = <span class="hljs-number">113</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> FREM = <span class="hljs-number">114</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> DREM = <span class="hljs-number">115</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> INEG = <span class="hljs-number">116</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LNEG = <span class="hljs-number">117</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> FNEG = <span class="hljs-number">118</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> DNEG = <span class="hljs-number">119</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> ISHL = <span class="hljs-number">120</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LSHL = <span class="hljs-number">121</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> ISHR = <span class="hljs-number">122</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LSHR = <span class="hljs-number">123</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> IUSHR = <span class="hljs-number">124</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LUSHR = <span class="hljs-number">125</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> IAND = <span class="hljs-number">126</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LAND = <span class="hljs-number">127</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> IOR = <span class="hljs-number">128</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LOR = <span class="hljs-number">129</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> IXOR = <span class="hljs-number">130</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LXOR = <span class="hljs-number">131</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> IINC = <span class="hljs-number">132</span>; <span class="hljs-comment">// visitIincInsn</span>
    <span class="hljs-keyword">int</span> I2L = <span class="hljs-number">133</span>; <span class="hljs-comment">// visitInsn&#xFF0C;&#x5C06;int&#x8F6C;&#x4E3A;long&#xFF0C;&#x4EE5;&#x4E0B;&#x7C7B;&#x63A8;</span>
    <span class="hljs-keyword">int</span> I2F = <span class="hljs-number">134</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> I2D = <span class="hljs-number">135</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> L2I = <span class="hljs-number">136</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> L2F = <span class="hljs-number">137</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> L2D = <span class="hljs-number">138</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> F2I = <span class="hljs-number">139</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> F2L = <span class="hljs-number">140</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> F2D = <span class="hljs-number">141</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> D2I = <span class="hljs-number">142</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> D2L = <span class="hljs-number">143</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> D2F = <span class="hljs-number">144</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> I2B = <span class="hljs-number">145</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> I2C = <span class="hljs-number">146</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> I2S = <span class="hljs-number">147</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> LCMP = <span class="hljs-number">148</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x5927;&#x5C0F;&#xFF0C;&#x5982;&#x679C;value1&gt;value2&#x5C06;1&#x63A8;&#x5230;&#x6808;&#x9876;&#xFF0C;&#x76F8;&#x7B49;&#x5219;&#x662F;0&#xFF0C;&#x53CD;&#x4E4B;&#x5219;&#x4E3A;-1</span>
    <span class="hljs-keyword">int</span> FCMPL = <span class="hljs-number">149</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x4E24;&#x4E2A;float&#xFF0C;&#x4E0B;&#x540C;</span>
    <span class="hljs-keyword">int</span> FCMPG = <span class="hljs-number">150</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> DCMPL = <span class="hljs-number">151</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x4E24;&#x4E2A;double&#xFF0C;&#x4E0B;&#x540C;</span>
    <span class="hljs-keyword">int</span> DCMPG = <span class="hljs-number">152</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> IFEQ = <span class="hljs-number">153</span>; <span class="hljs-comment">// visitJumpInsn&#xFF0C;&#x5F53;&#x6808;&#x9876;int&#x578B;&#x6570;&#x503C;&#x7B49;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IFNE = <span class="hljs-number">154</span>; <span class="hljs-comment">// -&#x5F53;&#x6808;&#x9876;int&#x578B;&#x6570;&#x503C;&#x4E0D;&#x7B49;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IFLT = <span class="hljs-number">155</span>; <span class="hljs-comment">// -&#x5F53;&#x6808;&#x9876;int&#x578B;&#x6570;&#x503C;&#x5C0F;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IFGE = <span class="hljs-number">156</span>; <span class="hljs-comment">// -&#x5F53;&#x6808;&#x9876;int&#x578B;&#x6570;&#x503C;&#x5927;&#x4E8E;&#x7B49;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IFGT = <span class="hljs-number">157</span>; <span class="hljs-comment">// -&#x5F53;&#x6808;&#x9876;int&#x578B;&#x6570;&#x503C;&#x5927;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IFLE = <span class="hljs-number">158</span>; <span class="hljs-comment">// -&#x5F53;&#x6808;&#x9876;int&#x578B;&#x6570;&#x503C;&#x5C0F;&#x4E8E;&#x7B49;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IF_ICMPEQ = <span class="hljs-number">159</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x6808;&#x9876;&#x4E24;int&#x578B;&#x6570;&#x503C;&#x5927;&#x5C0F;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x7B49;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IF_ICMPNE = <span class="hljs-number">160</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x6808;&#x9876;&#x4E24;int&#x578B;&#x6570;&#x503C;&#x5927;&#x5C0F;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x4E0D;&#x7B49;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IF_ICMPLT = <span class="hljs-number">161</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x6808;&#x9876;&#x4E24;int&#x578B;&#x6570;&#x503C;&#x5927;&#x5C0F;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x5C0F;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IF_ICMPGE = <span class="hljs-number">162</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x6808;&#x9876;&#x4E24;int&#x578B;&#x6570;&#x503C;&#x5927;&#x5C0F;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x5927;&#x4E8E;&#x7B49;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IF_ICMPGT = <span class="hljs-number">163</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x6808;&#x9876;&#x4E24;int&#x578B;&#x6570;&#x503C;&#x5927;&#x5C0F;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x5927;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IF_ICMPLE = <span class="hljs-number">164</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x6808;&#x9876;&#x4E24;int&#x578B;&#x6570;&#x503C;&#x5927;&#x5C0F;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x5C0F;&#x4E8E;&#x7B49;&#x4E8E;0&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IF_ACMPEQ = <span class="hljs-number">165</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x6808;&#x9876;&#x4E24;Object&#x5F15;&#x7528;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x76F8;&#x7B49;&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IF_ACMPNE = <span class="hljs-number">166</span>; <span class="hljs-comment">// -&#x6BD4;&#x8F83;&#x6808;&#x9876;&#x4E24;Object&#x5F15;&#x7528;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x4E0D;&#x76F8;&#x7B49;&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> GOTO = <span class="hljs-number">167</span>; <span class="hljs-comment">//-&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> JSR = <span class="hljs-number">168</span>; <span class="hljs-comment">// -&#x8DF3;&#x8F6C;&#x81F3;&#x6307;&#x5B9A;16&#x4F4D;&#x6808;&#x504F;&#x79FB;&#x4F4D;&#x7F6E;&#xFF0C;&#x5E76;&#x5C06;jsr&#x4E0B;&#x4E00;&#x6761;&#x6307;&#x4EE4;&#x5730;&#x5740;&#x538B;&#x5165;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> RET = <span class="hljs-number">169</span>; <span class="hljs-comment">// visitVarInsn&#xFF0C;&#x8FD4;&#x56DE;&#x81F3;&#x672C;&#x5730;&#x53D8;&#x91CF;&#x6307;&#x5B9A;&#x7684;#index&#x7684;&#x6307;&#x4EE4;&#x4F4D;&#x7F6E;&#xFF08;&#x4E00;&#x822C;&#x4E0E;jsr, jsr_w&#x8054;&#x5408;&#x4F7F;&#x7528;&#xFF09;</span>
    <span class="hljs-keyword">int</span> TABLESWITCH = <span class="hljs-number">170</span>; <span class="hljs-comment">// visiTableSwitchInsn&#xFF0C;&#x7528;&#x4E8E;switch&#x6761;&#x4EF6;&#x8DF3;&#x8F6C;&#xFF0C;case&#x503C;&#x8FDE;&#x7EED;&#xFF08;&#x53EF;&#x53D8;&#x957F;&#x5EA6;&#x6307;&#x4EE4;&#xFF09;</span>
    <span class="hljs-keyword">int</span> LOOKUPSWITCH = <span class="hljs-number">171</span>; <span class="hljs-comment">// visitLookupSwitch&#xFF0C;&#x7528;&#x4E8E;switch&#x6761;&#x4EF6;&#x8DF3;&#x8F6C;&#xFF0C;case&#x503C;&#x4E0D;&#x8FDE;&#x7EED;&#xFF08;&#x53EF;&#x53D8;&#x957F;&#x5EA6;&#x6307;&#x4EE4;&#xFF09;</span>
    <span class="hljs-keyword">int</span> IRETURN = <span class="hljs-number">172</span>; <span class="hljs-comment">// visitInsn</span>
    <span class="hljs-keyword">int</span> LRETURN = <span class="hljs-number">173</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> FRETURN = <span class="hljs-number">174</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> DRETURN = <span class="hljs-number">175</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> ARETURN = <span class="hljs-number">176</span>; <span class="hljs-comment">// -</span>
    <span class="hljs-keyword">int</span> RETURN = <span class="hljs-number">177</span>; <span class="hljs-comment">// -&#x8FD4;&#x56DE;void</span>
    <span class="hljs-keyword">int</span> GETSTATIC = <span class="hljs-number">178</span>; <span class="hljs-comment">// visitFieldInsn&#xFF0C;&#x83B7;&#x53D6;&#x6307;&#x5B9A;&#x7C7B;&#x7684;&#x9759;&#x6001;&#x5B57;&#x6BB5;&#xFF0C;&#x5E76;&#x5C06;&#x5176;&#x503C;&#x63A8;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> PUTSTATIC = <span class="hljs-number">179</span>; <span class="hljs-comment">// -&#x4E3A;&#x6307;&#x5B9A;&#x7C7B;&#x7684;&#x9759;&#x6001;&#x5B57;&#x6BB5;&#x8D4B;&#x503C;</span>
    <span class="hljs-keyword">int</span> GETFIELD = <span class="hljs-number">180</span>; <span class="hljs-comment">// -&#x83B7;&#x53D6;&#x6307;&#x5B9A;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5B57;&#x6BB5;&#xFF0C;&#x5E76;&#x5C06;&#x5176;&#x503C;&#x63A8;&#x5230;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> PUTFIELD = <span class="hljs-number">181</span>; <span class="hljs-comment">// -&#x4E3A;&#x6307;&#x5B9A;&#x7684;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#x5B57;&#x6BB5;&#x8D4B;&#x503C;</span>
    <span class="hljs-keyword">int</span> INVOKEVIRTUAL = <span class="hljs-number">182</span>; <span class="hljs-comment">// visitMethodInsn&#xFF0C;&#x8C03;&#x7528;&#x5B9E;&#x4F8B;&#x65B9;&#x6CD5;&#xFF08;Java&#x4E2D;&#x6240;&#x6709;&#x7684;&#x65B9;&#x6CD5;&#x90FD;&#x662F;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x8986;&#x5199;&#x7684;&#x865A;&#x65B9;&#x6CD5;&#xFF0C;&#x6240;&#x4EE5;&#x53EB;virtual&#xFF09;</span>
    <span class="hljs-keyword">int</span> INVOKESPECIAL = <span class="hljs-number">183</span>; <span class="hljs-comment">// -&#x8C03;&#x7528;&#x8D85;&#x7C7B;&#x6784;&#x9020;&#x65B9;&#x6CD5;&#xFF0C;&#x5B9E;&#x4F8B;&#x521D;&#x59CB;&#x5316;&#x65B9;&#x6CD5;&#xFF0C;&#x79C1;&#x6709;&#x65B9;&#x6CD5;</span>
    <span class="hljs-keyword">int</span> INVOKESTATIC = <span class="hljs-number">184</span>; <span class="hljs-comment">// -&#x8C03;&#x7528;&#x9759;&#x6001;&#x65B9;&#x6CD5;</span>
    <span class="hljs-keyword">int</span> INVOKEINTERFACE = <span class="hljs-number">185</span>; <span class="hljs-comment">// -&#x8C03;&#x7528;&#x63A5;&#x53E3;&#x65B9;&#x6CD5;</span>
    <span class="hljs-keyword">int</span> INVOKEDYNAMIC = <span class="hljs-number">186</span>; <span class="hljs-comment">// visitInvokeDynamicInsn &#x8C03;&#x7528;&#x52A8;&#x6001;&#x65B9;&#x6CD5;</span>
    <span class="hljs-keyword">int</span> NEW = <span class="hljs-number">187</span>; <span class="hljs-comment">// visitTypeInsn &#x521B;&#x5EFA;&#x5BF9;&#x8C61;</span>
    <span class="hljs-keyword">int</span> NEWARRAY = <span class="hljs-number">188</span>; <span class="hljs-comment">// visitIntInsn &#x521B;&#x5EFA;&#x57FA;&#x672C;&#x7C7B;&#x578B;&#x6570;&#x7EC4;</span>
    <span class="hljs-keyword">int</span> ANEWARRAY = <span class="hljs-number">189</span>; <span class="hljs-comment">// visitTypeInsn &#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x6570;&#x7EC4;</span>
    <span class="hljs-keyword">int</span> ARRAYLENGTH = <span class="hljs-number">190</span>; <span class="hljs-comment">// visitInsn &#x5C06;&#x6570;&#x7EC4;&#x957F;&#x5EA6;&#x63A8;&#x5165;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> ATHROW = <span class="hljs-number">191</span>; <span class="hljs-comment">// -&#x5C06;&#x6808;&#x9876;&#x7684;&#x5F02;&#x5E38;&#x629B;&#x51FA;</span>
    <span class="hljs-keyword">int</span> CHECKCAST = <span class="hljs-number">192</span>; <span class="hljs-comment">// visitTypeInsn &#x68C0;&#x9A8C;&#x7C7B;&#x578B;&#x8F6C;&#x6362;&#xFF0C;&#x68C0;&#x9A8C;&#x672A;&#x901A;&#x8FC7;&#x5C06;&#x629B;&#x51FA;ClassCastException</span>
    <span class="hljs-keyword">int</span> INSTANCEOF = <span class="hljs-number">193</span>; <span class="hljs-comment">// -&#x68C0;&#x9A8C;&#x5BF9;&#x8C61;&#x662F;&#x5426;&#x662F;&#x6307;&#x5B9A;&#x7684;&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x5982;&#x679C;&#x662F;&#x5C06;1&#x63A8;&#x5165;&#x6808;&#x9876;&#xFF0C;&#x5426;&#x5219;&#x5C06;0&#x63A8;&#x5165;&#x6808;&#x9876;</span>
    <span class="hljs-keyword">int</span> MONITORENTER = <span class="hljs-number">194</span>; <span class="hljs-comment">// visitInsn &#x83B7;&#x5F97;&#x5BF9;&#x8C61;&#x7684;&#x9501;</span>
    <span class="hljs-keyword">int</span> MONITOREXIT = <span class="hljs-number">195</span>; <span class="hljs-comment">// -&#x91CA;&#x653E;&#x5BF9;&#x8C61;&#x9501;</span>
    <span class="hljs-keyword">int</span> MULTIANEWARRAY = <span class="hljs-number">197</span>; <span class="hljs-comment">// visitMultiANewArrayInsn</span>
    <span class="hljs-keyword">int</span> IFNULL = <span class="hljs-number">198</span>; <span class="hljs-comment">// visitJumpInsn &#x5982;&#x679C;&#x6808;&#x9876;&#x5143;&#x7D20;null&#x65F6;&#x8DF3;&#x8F6C;</span>
    <span class="hljs-keyword">int</span> IFNONNULL = <span class="hljs-number">199</span>; <span class="hljs-comment">// -&#x6808;&#x9876;&#x5143;&#x7D20;&#x4E0D;&#x4E3A;null&#x65F6;&#x8DF3;&#x8F6C;</span>
}
</code></pre>

                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="附录A.html" class="navigation navigation-prev " aria-label="Previous page: 附录A 相关工具下载">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="附录C.html" class="navigation navigation-next " aria-label="Next page: 附录C 参考资料">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"附录B 常见Java字节码指令表","level":"1.9.2","depth":2,"next":{"title":"附录C 参考资料","level":"1.9.3","depth":2,"path":"附录C.md","ref":"附录C.md","articles":[]},"previous":{"title":"附录A 相关工具下载","level":"1.9.1","depth":2,"path":"附录A.md","ref":"附录A.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"附录B.md","mtime":"2019-09-08T04:00:29.588Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-08T04:47:05.818Z"},"basePath":".","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="gitbook/gitbook.js"></script>
    <script src="gitbook/theme.js"></script>
    
        
        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

